【Clojure入門】 プロトコルの応用編:依存性の注入によるリファクタリング